<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="320">
<title>Barcode Document</title>
<link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
<link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
<script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
</head>
<body><div id="content" class="content">
<h1><a name="plus.barcode">barcode</a></h1>
<p>Barcode模块管理条码（一维码和二维码）扫描识别，支持常见的一维码（如EAN13码）及二维码（如QR码）。通过调用设备的摄像头对条码进行扫描识别，扫描到条码后进行解码并返回码数据内容及码类型。</p>
<h2>常量：</h2>
<ul>
<li>
<a href="#plus.barcode.QR">QR</a>: QR二维码，数值为0</li>
<li>
<a href="#plus.barcode.EAN13">EAN13</a>: EAN条形码标准版，数值为1</li>
<li>
<a href="#plus.barcode.EAN8">EAN8</a>: ENA条形码简版，数值为2</li>
<li>
<a href="#plus.barcode.AZTEC">AZTEC</a>: Aztec二维码，数值为3</li>
<li>
<a href="#plus.barcode.DATAMATRIX">DATAMATRIX</a>: Data Matrix二维码，数值为4</li>
<li>
<a href="#plus.barcode.UPCA">UPCA</a>: UPC条形码标准版，数值为5</li>
<li>
<a href="#plus.barcode.UPCE">UPCE</a>: UPC条形码缩短版，数值为6</li>
<li>
<a href="#plus.barcode.CODABAR">CODABAR</a>: Codabar条形码，数值为7</li>
<li>
<a href="#plus.barcode.CODE39">CODE39</a>: Code39条形码，数值为8</li>
<li>
<a href="#plus.barcode.CODE93">CODE93</a>: Code93条形码，数值为9</li>
<li>
<a href="#plus.barcode.CODE128">CODE128</a>: Code128条形码，数值为10</li>
<li>
<a href="#plus.barcode.ITF">ITF</a>: ITF条形码，数值为11</li>
<li>
<a href="#plus.barcode.MAXICODE">MAXICODE</a>: MaxiCode二维码，数值为12</li>
<li>
<a href="#plus.barcode.PDF417">PDF417</a>: PDF 417二维条码，数值为13</li>
<li>
<a href="#plus.barcode.RSS14">RSS14</a>: RSS 14条形组合码，数值为14</li>
<li>
<a href="#plus.barcode.RSSEXPANDED">RSSEXPANDED</a>: 扩展式RSS条形组合码，数值为15</li>
</ul>
<h2>方法：</h2>
<ul>
<li>
<a href="#plus.barcode.scan">scan</a>: 扫码识别图片中的条码</li>
<li>
<a href="#plus.barcode.create">create</a>: 创建扫码识别控件对象</li>
<li>
<a href="#plus.barcode.getBarcodeById">getBarcodeById</a>: 查找扫码识别控件对象</li>
</ul>
<h2>对象：</h2>
<ul>
<li>
<a href="#plus.barcode.Barcode">Barcode</a>: 扫码识别控件对象</li>
<li>
<a href="#plus.barcode.BarcodeStyles">BarcodeStyles</a>: Barcode扫码控件样式</li>
<li>
<a href="#plus.barcode.BarcodeOptions">BarcodeOptions</a>: 条码识别控件扫描参数</li>
</ul>
<h2>回调方法：</h2>
<ul>
<li>
<a href="#plus.barcode.BarcodeSuccessCallback">BarcodeSuccessCallback</a>: 扫码识别成功回调函数</li>
<li>
<a href="#plus.barcode.BarcodeErrorCallback">BarcodeErrorCallback</a>: 扫码识别错误回调函数</li>
</ul>
<h2>权限：</h2>
<p>permissions</p>
<pre class="prettyprint linenums">
{
// ...
"permissions":{
	// ...
	"Barcode": {
		"description": "二维码"
	}
}
}
			</pre>
<h1><a name="plus.barcode.Barcode">Barcode</a></h1>
<p>扫码识别控件对象</p>
<pre class="prettyprint linenums">
interface plus.barcode.Barcode {
	// Methods
	function void cancel();
	function void close();
	function void setFlash(open);
	function void setStyle(styles);
	function void start(options);

	// Events
	function void onerror();
	function void onmarked();
}
				</pre>
<h2>说明：</h2>
<p class="des">
	可通过plus.barcode.create创建，也可通过new plus.barcode.Barcode构造（仅在5+APP中使用）创建。
	扫码识别控件将使用设备的摄像头预览扫描内容，在控件中显示扫描基准框等用户交互元素。
				</p>
<h2>构造：</h2>
<ul><li>
<a href="#plus.barcode.Barcode.Barcode.constructor(domId,%20filters,%20styles)">Barcode.constructor(domId, filters, styles)</a>: 构造扫码识别控件</li></ul>
<h2>方法：</h2>
<ul>
<li>
<a href="#plus.barcode.Barcode.cancel">cancel</a>: 取消扫码识别</li>
<li>
<a href="#plus.barcode.Barcode.close">close</a>: 关闭条码识别控件</li>
<li>
<a href="#plus.barcode.Barcode.setFlash">setFlash</a>: 操作闪光灯</li>
<li>
<a href="#plus.barcode.Barcode.setStyle">setStyle</a>: 设置扫码识别控件的样式</li>
<li>
<a href="#plus.barcode.Barcode.start">start</a>: 开始扫码识别</li>
</ul>
<h2>事件：</h2>
<ul>
<li>
<a href="#plus.barcode.Barcode.onmarked">onmarked</a>: 扫码识别成功事件</li>
<li>
<a href="#plus.barcode.Barcode.onerror">onerror</a>: 扫码识别错误事件</li>
</ul>
<h1><a name="plus.barcode.BarcodeStyles">BarcodeStyles</a></h1>
<p>Barcode扫码控件样式</p>
<pre class="prettyprint linenums">
interface plus.barcode.BarcodeStyles {
	attribute String background;
	attribute String frameColor;
	attribute String scanbarColor;
	
	attribute String top;
	attribute String left;
	attribute String width;
	attribute String height;
	attribute String position;
}
				</pre>
<h2>说明：</h2>
<p class="des">
	设置Barcode扫码控件的样式，如扫码框、扫码条的颜色等。
				</p>
<h2>属性：</h2>
<ul>
<li>background: <em>(<font class="type">String</font>
	类型
)</em>条码识别控件背景颜色<br><p>
	颜色值支持(参考CSS颜色规范)：颜色名称(参考CSS Color Names)/十六进制值/rgb值，默认值为红色。
						</p>
</li>
<li>frameColor: <em>(<font class="type">String</font>
	类型
)</em>扫码框颜色<br><p>
	颜色值支持(参考CSS颜色规范)：颜色名称(参考CSS Color Names)/十六进制值/rgb值/rgba值，默认值为红色。
						</p>
</li>
<li>scanbarColor: <em>(<font class="type">String</font>
	类型
)</em>扫码条颜色<br><p>
	颜色值支持(参考CSS颜色规范)：颜色名称(参考CSS Color Names)/十六进制值/rgb值/rgba值，默认值为红色。
						</p>
</li>
<li>top: <em>(<font class="type">String</font>
	类型
)</em>Barcode扫码控件左上角的垂直偏移量<br><p>
	可取值：
		像素值，如"100px"；
		百分比，如"10%"，相对于父Webview窗口的高度；
		自动计算，如"auto",根据height值自动计算，相对于父Webview窗口垂直居中。
						</p>
</li>
<li>left: <em>(<font class="type">String</font>
	类型
)</em>Barcode扫码控件左上角的水平偏移量<br><p>
	可取值：
		像素值，如"100px"；
		百分比，如"10%"，相对于父Webview窗口的宽度；
		自动计算，如"auto"，根据width值自动计算，相对于父Webview窗口水平居中。
	默认值为"0px"。
						</p>
</li>
<li>width: <em>(<font class="type">String</font>
	类型
)</em>Barcode扫码控件的宽度<br><p>
	可取值：
		像素值，如"100px"；
		百分比，如"10%"，相对于父Webview窗口的宽度。
	默认值为"100%"。
						</p>
</li>
<li>height: <em>(<font class="type">String</font>
	类型
)</em>Barcode扫码控件的高度<br><p>
	可取值：
		像素值，如"100px"；
		百分比，如"10%"，相对于父Webview窗口的高度。
	默认值为"100%"。
						</p>
</li>
<li>position: <em>(<font class="type">String</font>
	类型
)</em>Barcode扫码控件在Webview窗口的布局模式<br><p>
	可取值：
		"static" - 静态布局模式，如果页面存在滚动条则随窗口内容滚动；
		"absolute" - 绝对布局模式，如果页面存在滚动条不随窗口内容滚动；
	默认值为"static"。
						</p>
</li>
</ul>
<h1><a name="plus.barcode.BarcodeOptions">BarcodeOptions</a></h1>
<p>条码识别控件扫描参数</p>
<pre class="prettyprint linenums">
interface plus.barcode.BarcodeOptions {
	attribute Boolean conserve;
	attribute String filename;
	attribute Boolean vibrate;
	attribute String sound;
}
				</pre>
<h2>说明：</h2>
<p class="des">
	设置Barcode扫码控件的扫码识别参数，如是否保存扫码功时的截图等。
				</p>
<h2>属性：</h2>
<ul>
<li>conserve: <em>(<font class="type">Boolean</font>
	类型
)</em>是否保存扫码成功时的截图<br><p>
	如果设置为true则在扫码成功时将图片保存，并通过onmarked回调函数的file参数返回保存文件的路径。
	默认值为false，不保存截图。
						</p>
</li>
<li>filename: <em>(<font class="type">String</font>
	类型
)</em>保存扫码成功时图片保存路径<br><p>
	可通过此参数设置保存截图的路径和名称，如果设置图片文件名称则必须指定文件的后缀名（必须是.png），否则认为是指定目录，文件名称则自动生成。
						</p>
</li>
<li>vibrate: <em>(<font class="type">Boolean</font>
	类型
)</em>扫码成功时是否需要震动提醒<br><p>
	如果设置为true则在扫码成功时震动设备，false则不震动。
	默认值为true。
						</p>
</li>
<li>sound: <em>(<font class="type">String</font>
	类型
)</em>扫码成功时播放的提示音<br><p>
	可取值：
	"none" - 不播放提示音；
	"default" - 播放默认提示音（5+引擎内置）。
	默认值为"default"。
						</p>
</li>
</ul>
<h1><a name="plus.barcode.BarcodeSuccessCallback">BarcodeSuccessCallback</a></h1>
<p>扫码识别成功回调函数</p>
<pre class="prettyprint linenums">
void BarcodeSuccessCallback(type, code, file){
	// Barcode success code
}
				</pre>
<h2>说明：</h2>
<p class="des">
	当Barcode控件扫码成功时的回调函数，返回识别成功的扫码数据。
				</p>
<h2>参数：</h2>
<ul>
<li>type: 
		<em>(
			<font class="type">Number</font>
			)
			必选 </em>识别到的条码类型<br>
	Number类型的值，与Barcode对象定义的条码类型常量一致。
						</li>
<li>code: 
		<em>(
			<font class="type">String</font>
			)
			必选 </em>识别到的条码数据<br>
	扫码识别出的数据内容，字符串类型，采用UTF8编码格式。
						</li>
<li>file: 
		<em>(
			<font class="type">String</font>
			)
			可选 </em>扫码成功的截图文件路径<br>
	扫码识别到的截图，png格式文件，如果设置为不保存截图，则返回undefined。
						</li>
</ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<h1><a name="plus.barcode.BarcodeErrorCallback">BarcodeErrorCallback</a></h1>
<p>扫码识别错误回调函数</p>
<pre class="prettyprint linenums">
void BarcodeErrorCallback(error){
	// Error 
	var code = error.code; 			// 错误编码
	var message = error.message;	// 错误描述信息
}
				</pre>
<h2>参数：</h2>
<ul><li>error: 
		<em>(
			<font class="type">DOMException</font>
			)
			必选 </em>扫码识别的错误信息<br>
	可通过error.code（Number类型）获取错误编码；
	可通过error.message（String类型）获取错误描述信息。
						</li></ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<br><br>
</div></body>
</html>
